home *** CD-ROM | disk | FTP | other *** search
/ Wonky Flux Batch 2019 02 / Wonky_Flux_Batch_2019-02.zip / Wonky Flux Batch 2019-02 / 106 - Proboard KEY Floppy - Must be in Drive 1.dsk / TOP.LOADEES.MOD.txt < prev    next >
Text File  |  2019-02-17  |  5KB  |  176 lines

  1.  
  2.                      Derived from the Top.Uploaders Mod
  3.                         by Andy Nicholas 1988-89
  4.  
  5. Adapted for Top.Downloaders Mod by jpe for ProBOARD;  August 14th, 1989
  6.  
  7. The following code, placed after the label term1 in your main segment will
  8. allow you to keep track of the top 10 downloaders for your supertac section:
  9.  
  10. ;find..
  11.  
  12. Term1
  13.  on nocar clear
  14.   
  15. ;insert the following code immediately following this label...
  16.  
  17.  close:clear #8:f$="b8:top.downloaders"
  18.  a=0:open #1,f$
  19.  for x=1 to 10:input #1,i$,a1,a2
  20.  if (a3$=i$) and (d2=a2) x=10:next:goto norite
  21.  if (d1>a1) and not(a) print #8,a3$,d1,d2:a=1:goto top1d
  22.  if (d1=a1) and (d2>a2) and not(a) print #8,a3$,d1,d2:a=1
  23. Top1d
  24.  if a3$=i$ next:goto top2d
  25.  print #8,i$,a1,a2:next
  26. Top2d
  27.  close:if not(a) goto norite
  28.  kill f$:create f$
  29.  open #1,f$:copy #8,#1:close
  30.  a=x
  31. Norite
  32.  close:clear #8:f$="b8:top.uploaders"
  33.  a=0:open #1,f$
  34.  for x=1 to 10:input #1,i$,a1,a2
  35.  if (a3$=i$) and (u2=a2) x=10:next:goto nowrite
  36.  if (u1>a1) and not(a) print#8,a3$,u1,u2:a=1:goto top1
  37.  if (u1=a1) and (u2>a2) and not(a) print#8,a3$,u1,u2:a=1
  38.  
  39. ;  Above is the Downloaders.Mod, Below is the Uploaders.Mod
  40.  
  41. Top1
  42.  if a3$=i$ next:goto top2
  43.  print#8,i$,a1,a2:next
  44. Top2
  45.  close:if not(a) goto nowrite
  46.  kill f$:create f$
  47.  open #1,f$:copy #8,#1:close
  48.  a=x
  49.  print\":"chr$(61,77)":"
  50.  print":  "chr$(15)"          By the way... You are one of the Top 10 Uploaders!             "chr$(14)"  :"
  51.  print":"chr$(61,77)":"\
  52. Nowrite
  53.  
  54. ; the rest of the code continues here
  55. .
  56. .
  57. .
  58. -----------------------------------------------------------------------------
  59.  
  60. The following code will print out a list of the top 10 downloaders... place
  61. this usually on entry to the ae section, something like:
  62.  
  63.  if i$="A" pop:gosub topd:link "a:supertac"
  64.  
  65. ; The actual code is as follows, placed in the main segment.
  66.  
  67. Topd
  68.  print \"Top 10 downloaders as of "date$\
  69.  open #1,"b8:top.downloaders"
  70.  for x=1 to 10:input #1,i$,a1,a2
  71.  a$=str$(a2):if a1 a$=str$(a1)+right$("000"+str$(a2),4)
  72.  print x". "left$(i$+"....................",20)"  "a$" Blocks"
  73.  next:close:return
  74.  
  75. ; The Above Shows The Top.Downloaders List Seperately
  76.  
  77. ; The Below Shows The Two Lists Combined onto one 80 Col. Screen...by jpe
  78. ; Use Gosub top as before....
  79.  
  80. Top
  81.  close
  82.  print\"Top 10 Uploaders as of "date$;
  83.  print chr$(32,9)"Top 10 Downloaders as of "date$\
  84.  open #1,"b8:top.uploaders":open #2,"b8:top.downloaders"
  85.  for x=1 to 10:input #1,i$,a1,a2:input #2,ii$,x1,x2
  86.  x$=str$(x2):if x1 x$=str$(x1)+right$("000"+str$(x2),4)
  87.  a$=str$(a2):if a1 a$=str$(a1)+right$("000"+str$(a2),4)
  88.  f$=str$(x)+". "+left$(i$+"....................",20)+"  "+a$+" Blocks"
  89.  print left$(f$+"                      ",40);
  90.  f$=str$(x)+". "+left$(ii$+"....................",20)+"  "+x$+" Blocks"
  91.  print f$:next:close:x$="WhackaKey To Continue... "
  92.  print \\chr$(32,(20-len(x$)/2))x$;:geti$
  93.  return
  94.  
  95. -----------------------------------------------------------------------------
  96.  
  97. The following code will enter the user's uploaded blocks and downloaded
  98. blocks when placed in your logon segment after the label:
  99.  
  100. VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
  101. If you already have this in for the Top.Uploaders Mod then your set!
  102. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  103.  
  104. ; *** Main Logon Routine ***
  105.  
  106. login
  107.  
  108. ;after the following code under this label, place the next code segment
  109.  
  110.  a1$=d1$:a2$=d2$:a3$=d3$:a4$=d4$:a5$=d5$
  111.  tc=byte(1)+nibble(1)*256:bp=byte(2)+nibble(2)*256
  112.  dl=byte(3)+nibble(3)*256:ul=byte(4)+nibble(4)*256
  113.  
  114. ;this is the code that needs to be entered in the logon segment to record
  115.  and retrieve the block counts correctly.
  116.  
  117.  u1=byte(10)+byte(11)*256:u2=byte(12)+byte(13)*256
  118.  d1=byte(14)+byte(15)*256:d2=byte(16)+byte(17)*256
  119.  ul$=str$(u2):if u1 ul$=str$(u1)+right$("000"+str$(u2),4)
  120.  dl$=str$(d2):if d1 dl$=str$(d1)+right$("000"+str$(d2),4)
  121.  .
  122.  .
  123.  .
  124.  
  125. -----------------------------------------------------------------------------
  126.  
  127. The following code will save the user's blocks uploaded and blocks downloaded
  128. when they log off... look in your main segment under the label:
  129.  
  130. VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
  131. If you already have this in for the Top.Uploaders Mod then your set!
  132. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  133.  
  134. term2
  135.  
  136. ;the following code will occur, then insert the code after it:
  137.  
  138.  open #1,"b:users":nibble(6)=nibble(6)+1
  139.  byte(0)=info(3)
  140.  byte(1)=tc mod 256:nibble(1)=tc/256
  141.  byte(2)=bp mod 256:nibble(2)=bp/256
  142.  byte(3)=dl mod 256:nibble(3)=dl/256
  143.  byte(4)=ul mod 256:nibble(4)=ul/256
  144.  byte(5)=lr mod 256:byte(6)=lr/256
  145.  
  146. ;add this code following the previous code which should have already been
  147.  there:
  148.  
  149.  byte(10)=u1 mod 256:byte(11)=u1/256
  150.  byte(12)=u2 mod 256:byte(13)=u2/256
  151.  byte(14)=d1 mod 256:byte(15)=d1/256
  152.  byte(16)=d2 mod 256:byte(17)=d2/256
  153.  
  154. ;after that code, the following code should be immediately after the previous
  155.  stuff, and you need to add one more line, which kills the batch file
  156.  after the user logs off the system:
  157.  
  158. ;special note: if drive H: is a ram drive, the time to batch a file into the
  159.  list is reduced enormously.
  160.  
  161.  when$="x":position #1,128,un
  162.  print #1,a1$,a2$\a3$\a4$,a5$:position #1,128,un,70
  163.  write #1,ram,58:close
  164.  
  165. ;add this:
  166.  
  167.  kill "h:batch"
  168.  .
  169.  .
  170.  (code continues)
  171.  .
  172. Adapted to Top.Downloaders by jpe for ProBOARD @ 805-239-4292 08/14/89 @ 15:20
  173.  
  174. ; EOF
  175.  
  176.